Methods and apparatus for distributed gaming over a mobile device

ABSTRACT

A system and method are provided for updating game participants. In some embodiments, the participants receive game control information via a one-way broadcast. The method selects a set of sampling participants from the set of all participants of a game. In some embodiments, the selection occurs prior to the start of the game. The method of some embodiments establishes a two-way connection between a server and each of the sampling participants. For some embodiments, the two-way connection is realtime. The method continuously maintains the two-way connection throughout the game. During each discrete game period, the method receives from a sampling participant, data for the sampling participant&#39;s game period performance. Based on the received data, the method determines the performance for the game period and broadcasts this information to a non-sampling participant. A non-sampling participant is a participant who was not selected for the set of sampling participants. In some embodiments, the non-sampling participant determines a standing relative to the other participants in the game event. Some embodiments provide a method and system for detecting unusual performance in a game. The game has a participant. The method calculates for the participant an average performance level. Based on the average performance level, the method tracks for the participant a participant improvement factor and stores the participant improvement factor. The method compares the participant improvement factor to a threshold value.

RELATED APPLICATIONS

This patent application claims priority under 35 U.S.C. §119(e) of the co-owned U.S. Provisional Patent Application No. 60/588,273, filed Jul. 14, 2004, entitled “A METHODOLOGY FOR PROVIDING ALL CONTESTANTS IN GAMES OF SKILL PLAYABLE ON CELL PHONES WITH THEIR CURRENT STANDING WHILE RECEIVING GAME CONTROL INFORMATION ONE-WAY VIA A ‘BROADCAST’ TRANSMISSION,” which is hereby incorporated by reference. This patent application claims priority under 35 U.S.C. §119(e) of the co-owned U.S. Provisional Patent Application No. 60/583,739, filed Jun. 28, 2004, entitled “A METHODOLOGY FOR DETECTING CHEATING DURING A REAL TIME CONTEST OF SKILL UTILIZING A CELL PHONE IN CONNECTION WITH A LIVE TELEVISION PROGRAM,” which is hereby incorporated by reference. This patent application is concurrently filed with U.S. patent application Ser. No. 11/166,596, entitled METHODS AND APPARATUS FOR DISTRIBUTED GAMING OVER A MOBILE DEVICE, which is hereby incorporated by reference.

FIELD OF THE INVENTION

The present invention relates to the field of distributed gaming. More particularly, the present invention relates to the field of distributed gaming utilizing a mobile device.

BACKGROUND

Participants of distributed gaming have experienced areas of expansion in recent years. These participants are enabled to play new games and play existing games in novel ways. For example, games today are often played by several participants simultaneously over remote networks. Distributed gaming already takes a variety of forms including Internet and/or online games, as well as simple participation events, such as audience polling. Existing distributed games already pose issues in game management and control. However, several of the complex issues with distributed games have only become more difficult with the expansion into new areas and ways of gaming. One issue involves communication with the participants. Another issue is the ability to scale for large numbers of participants. These two issues make the fundamental task of keeping all the participants updated, into a significant challenge. One approach to address these issues is one-way broadcast updating. However, this broadcast or multicast approach presents significant security challenges.

Games of skill and chance have an intrinsic excitement and entertainment value. Any game is greatly enhanced by a participant's ability to know how their performance compares in relation to other participants and/or to historical performance for the game throughout the contest. However, competition will naturally create incentives to enhance performance in a manner outside the rules of the game, i.e., to cheat. Some games provide a lucrative prize based on performance, which creates even greater incentives to break the rules of the game. Network based games over the Internet, television, radio, or other complex technology utilizing a one-way multicast or broadcast system create more complicated issues in detection and prevention of cheating. Unlike a server controlled contest, there are a variety of ways unobserved competitive participants are able to unfairly manipulate a game that has such a broadcast architecture.

THE STATE OF THE ART

There have been various attempts to address some of the issues raised above. Some of these attempts are mentioned below.

U.S. Pat. No. 5,013,038, filed Dec. 8, 1989, and U.S. Pat. No. 5,120,076, filed Apr. 25, 1991, both to Luxemberg, et al., (the Luxemberg patents) are directed to reducing the number of telephone calls to the game server only after the conclusion of a game. The Luxemberg '076 patent in particular, directs all but a sampling of players to delay sending their scores to the central server in a multicast request after the conclusion of the game. The central server compiles the results of the sampling and broadcasts the sampling results to all the participants of the game. Each participant then determines the participant's own chance of winning based on the sampling results taken at the conclusion of the game. Only those participants whose performance is high enough in comparison to the sampling results are released to send their results to the server for scoring. Thus, in the Luxemberg '076 patent, the number of messages over a landline telephone call to the game server is reduced to the number of participants in the sample. The game server determines the winners at the conclusion of the contest based on the uploaded scores from only the participants who have a chance of winning and who have thus uploaded their scores to the server. The Luxemberg patents ('038 and '076) also provide for the collection of market information surveys after conclusion of the game. However, the Luxemberg patents suffer from lack of real-time capability as participants must wait for each of the sample participants to dial-in their results over telephone lines. The Luxemberg patents also suffer from the inability to specifically select and connect with a statistical sample.

U.S. Pat. No. 5,083,800, filed Jun. 7, 1990, to Lockton describes using a one-way FM subcarrier (SCA) channel to broadcast from the server to game participants, while the game participants upload through telephone lines. U.S. Pat. No. 5,479,492, filed Dec. 1, 1993, to Hofstee, et al., describes voting in response to a television or radio broadcast by using a ballot box attached to a telephone line that introduces a time delay. U.S. Pat. No. 5,643,088, filed May 31, 1995, to Vaughn, et al., describes interleaved interactive advertising in the broadcasts. U.S. Pat. No. 5,813,913, filed May 30, 1995, to Berner, et al. (Berner) describes a system where players are grouped according to skill level for competition and comparison within a particular skill level. In Berner, the central computer system sends a lockout signal at the conclusion of each game where only players of the particular skill level update their performance through telephone lines.

However, none of these attempts provide for real time updating, to large numbers of participants, information regarding the standings of a game, particularly over new types of networks. One such network that shows promise is a network for mobile devices such as a cellular network. Moreover, none of the prior techniques address the issues particular to mobile device gaming such as the unfair manipulation of technology.

SUMMARY OF THE INVENTION

A system and method are provided for updating game participants. The method selects a subset of sampling participants from the set of all participants of a game. In some embodiments, the selection occurs prior to the start of the game. The method of some embodiments establishes a two-way connection between a server and each of the sampling participants. For some embodiments, the two-way connection is realtime. The method continuously maintains the two-way connection throughout the game. During each discrete game period, for example, each play of a football game, the method receives from a sampling participant, data for the sampling participant's current game period performance. Based on the received data, the method determines the performance for the game period and broadcasts this information to a participant. In some embodiments, the participant is a non-sampling participant. A non-sampling participant is a participant who was not selected for the set of sampling participants. In some embodiments, the non-sampling participant determines a standing relative to the other participants in the game event. Some embodiments display the determined standing. Some embodiments calculate a statistically accurate histogram from the sampling data to represent all the participants. In these embodiments, the participant's score is compared to the histogram to determine the standing.

Some embodiments of the invention provide a method and system for detecting unusual performance in a game. The game has a participant. The method calculates for the participant, a performance metric. The method compares the performance metric to a threshold value. Based on the comparison, if an unusually high score or other anomaly is detected, the method optionally connects the participant to a server. In some embodiments, the connection is for uploading a set of data from the participant to the server. The server, of some embodiments, broadcasts to the participant. The broadcast is a one-way transmission. In some embodiments, the broadcast includes a distribution based on a set of sample participants. In these embodiments, the set of sample participants comprises a representative sample of all the participants in the game. The threshold value, of some embodiments, is based on the broadcast and in some embodiments, the broadcast includes a histogram. The connecting occurs, in some embodiments, when the performance metric exceeds the threshold value. The connection, for some embodiments, includes a two-way connection. In some embodiments, the method also tracks for the participant, a participant improvement factor. The participant improvement factor is based on an average performance level for the participant. The method stores the participant improvement factor. In some embodiments, the server stores the participant improvement factor, while in other embodiments, the participant's mobile device stores the improvement factor. The threshold value, in some of these embodiments, is based on the participant improvement factor. The method of some embodiments tracks for the game, a game improvement factor. The game improvement factor is based on an average performance level for several participants in the game. The method stores the game improvement factor. The threshold value, in some of these embodiments, is based on the game improvement factor. In some embodiments, the method examines the uploaded data for particular characteristics. In some embodiments, the particular characteristics indicate the likelihood of cheating activity.

BRIEF DESCRIPTION OF THE DRAWINGS

The novel features of the invention are set forth in the appended claims. However, for purpose of explanation, several embodiments of the invention are set forth in the following figures.

FIG. 1 illustrates a mixed topology for a network game.

FIG. 2 illustrates a process flow for getting a schedule of events on a mobile device for a network game.

FIG. 3 illustrates a process flow for play in conjunction with a synchronized live event on a mobile device in a network game.

FIG. 4 illustrates a process flow for a server sending a list of schedule of events for a network game.

FIG. 5 illustrates a process flow for a server setting up a network game.

FIG. 6 illustrates a process flow for a server officiating a network game.

FIG. 7 illustrates the system implemented by some embodiments.

DETAILED DESCRIPTION OF THE INVENTION

In the following description, numerous details are set forth for purpose of explanation. However, one of ordinary skill in the art will realize that the invention may be practiced without the use of these specific details. In other instances, well-known structures and devices are shown in block diagram form in order not to obscure the description of the invention with unnecessary detail. Section I below describes notification of participants of their performance. Section II describes the detection of unusual activity for a participant that could constitute cheating. Section III describes the network cluster system implemented by some embodiments, and Section IV describes some advantages of the invention.

With the proliferation of mobile devices, a growing number of mobile device users are able to participate in a distributed online or network game. These games might be associated with various popular live and/or televised events. Participants of the game typically answer questions utilizing a mobile device as a live contestant at a game show (e.g., Wheel of Fortune®, Jeopardy®, etc.). Participants are also able to make simple predictions regarding the outcome of events and even play-by-play decisions for sporting events such as football, baseball, racing, or any of a number of other sporting events. The expansion to include participants utilizing mobile devices increases the number of participants in these network games almost limitlessly. For instance, the Super Bowl live audience numbers in the tens of thousands of spectators, while the television audience may number in excess of 100,000,000 viewers. Many of these viewers have access to an assortment of mobile devices, e.g., most commonly in the form of the ubiquitous cellular telephone.

For high bandwidth connections, games are typically controlled through a full time (two-way) connection to a game server that can routinely supply information to the participants of the game. As is known in the art, two-way network connections provide comparatively reliable and secure service. However, forming a two-way connection between the high potential number of participants of a real-time game (e.g., associated with a broadcast event) and a central host server creates challenges because of the low latency demands of such a game played in realtime. Moreover, two-way networks pose scalability issues and become impractical for massive numbers of participants and for games over low bandwidth connections such as some mobile networks. Two-way communication generates a variable cost for each additional competing participant. Ultimately, the implementation of such a two-way system could be prohibitively expensive because of the vast communication demands of continuously updating potentially millions of contestants of the status of their ongoing, changing, and fast paced predictions. This burden on the game server is significant because many games require acknowledgment by the server of the continuously changing predictions, which must be displayed on the mobile device in less than 500 milliseconds. The same problem also exists in non-television broadcast based games played over mobile devices that require a common start time for all competitors and where there are a large number of potential competitors.

I. Providing Participants with Current Standing while Receiving Game Control Information Via One-Way Broadcast.

A system and method are provided for updating participants in a game. In some embodiments, the method selects a set of sampling participants from the set of all participants of a game. In some of these embodiments, the selection occurs prior to the start of the game. The method of some embodiments establishes a two-way connection between a server and each of the sampling participants. The method continuously maintains the two-way connection throughout the game. After each discrete game period, the method receives from a sampling participant, data for the sampling participant's game period performance. Based on the received data, the method determines the performance for the game period and broadcasts this information to a participant. Some embodiments base the data on a statistically projectable random sample that is representative of all the participants in the game. In some embodiments, the broadcast recipient is a non-sampling participant. A non-sampling participant is a participant who was not selected for the set of sampling participants. In some embodiments, the non-sampling participant, utilizing the projectable data, determines a standing relative to the other participants for the game period.

As mentioned above, the most cost effective means of controlling a large-scale network game is to use a broadcast server topology to one-way multicast the same information to all participants simultaneously. Thus, some embodiments of the invention provide for a mobile device (e.g., cellular phone, PDA, etc.) as the receiver in a broadcast receiver topology. However, many current mobile devices are capable of operation in both one-way and two-way modes. These modes include small message service (SMS), instant messaging (IM) or Internet Relay Chat (IRC), email, voice and/or other data modes over a number of protocols such as transport control protocol (TCP) or universal datagram protocol (UDP).

Thus, the network game topology of some embodiments may include a mixture of one-way receivers and two-way clients to realize the benefits of both the one-way broadcast and two-way client/server architectures. FIG. 1 illustrates such a mixed topology 100. As shown in FIG. 1, a server 105 simultaneously broadcasts to several receivers 110-125 that are configured for one-way mode reception, while sending and receiving messages with a two-way mode client 130, through a network 140. In some embodiments, the network 140 includes a cellular network. Current mobile device technology allows the use of each mobile device connected to the network 140 to store locally certain game information such as a cumulative score. Particularly for the broadcast receivers 110-125, this relieves some burden on the server in storing and managing this data, and on the network 140 in relaying the data. As mentioned above, one advantage of the one-way architecture is reducing network and/or server latency by the distribution of data for processing and/or storage at the receiver. To implement such a topology, some embodiments employ a setup process that will be described by reference to FIG. 2.

A. Participant's Mobile Device Setup

FIG. 2 illustrates a mobile device setup process 200 for getting a schedule of events on a mobile device for a network game. As shown in this figure, the mobile device set up process 200 begins at step 205, where a game participant selects a game application by using the participant's mobile device. Then the process 200 transitions to step 210, where the mobile device requests a list of game events associated with the selected game from a server, such as the server 100 represented in FIG. 1. In some embodiments, the server 100 is a single computer, while in other embodiments the server 100 takes the form of any number of computers in any number of configurations, such as a server farm or cluster. Regardless of the configuration, the server typically hosts and officiates the game for these embodiments. The server of some embodiments will be described in further detail by reference to FIGS. 4, 5, and 6.

As shown in FIG. 2, after requesting a list of events at step 210, the mobile device receives a list of game events and displays the list to the participant at step 215. At step 220, the participant selects a game event in which to compete, and sends the selection to the server. Typically, the server configures the game event for the requesting mobile device. The server configuration of some embodiments includes a determination of whether the mobile device should set up a one-way or two-way connection with the server. The configuration process by the server of some embodiments will be described in further detail by reference to FIG. 5.

When the server has configured the game event, the requesting mobile device receives a configuration message from the server at step 225 and the process transitions to step 230. At step 230, the mobile device of some embodiments determines whether the configuration message from the server indicated that the mobile device should set up for one-way broadcast mode. If the message at step 225 indicates that the mobile device should operate in broadcast mode, the process 200 transitions to step 235 where the mobile device is configured to receive one-way broadcast transmissions from the server, and then the process 200 concludes. Otherwise, the process 200 transitions to step 240 where the mobile device sets up a two-way client/server connection with the server for the selected game event, and the mobile device setup process 200 concludes.

B. Participant's Mobile Device Operation

Once the participant has selected the game and the mobile device has prepared the connection with the server. The participant may play the game over the mobile device. FIG. 3 illustrates a mobile device operation process 300 for play in conjunction with a synchronized live event. The mobile device operation process 300 begins at step 305 where the process 300 determines whether the game is over. If the game is over, then the process 300 concludes. If the game is not over, then the process 300 transitions to step 310 where the participant makes a prediction regarding some facet of the game being played. The participant makes the prediction by using the mobile device that was set up to play the game in accordance with the set up process 200 described above in relation to FIG. 2.

As shown in FIG. 3, after the participant makes a prediction, the mobile device operation process 300 transitions to step 315 when the mobile device receives a lockout message from the server. At step 315, upon receiving the lockout message, the mobile device displays the participant's current prediction, if any, to the participant. In some embodiments, at the conclusion of each game period or scoring event, for example a football play or a baseball pitch, the server sends “lock out” signals prohibiting predictions or answers to the questions via a one-way broadcast transmission before the correct answers or facts are revealed. The participant's mobile device in these embodiments determines whether the participant's predictions or answers were: (1) entered prior to the receipt of the time stamped lock out message and (2) correct or incorrect. In some embodiments, the mobile device computes locally a cumulative score based on whether the participant was correct, as opposed to performing these calculations for each participant on a central server. Such a system has the ability to scale to accommodate a potentially large number of participants from a huge audience. The lockout message and whether a game is over will be described later by reference to FIG. 6.

After the mobile device receives a lockout message at step 315, the process 300 transitions to step 320 where the mobile device receives the correct answer from the server, compares the received answer to the participant's prediction, and displays the comparison to the participant. Then, at step 325, the mobile device receives a set of sampling results from the server. Prior to the commencement of the game, the server of some embodiments selects a statistically significant random sample of participants who have registered their intention to play the game. The server instructs these sampling participants' mobile devices to establish with the server a two-way connection to be maintained for the duration of the contest or game. Some embodiments establish the two-way connection transparently, which occurs with or without the participant's knowledge. The server of some embodiments monitors the period-by-period scores of this statistically significant set of sampling participants. In some embodiments, the sampling results contain a distribution of the performance of the sampling participants for the last period of the game that was tabulated. Some of these embodiments employ a histogram format to represent the sampling results.

After each discrete period in the contest, the server of some embodiments broadcasts some of the information collected from the sampling participants as well as the correct answers or predictions for each game period. In some of these embodiments, the game application software residing in the mobile device will compare the participant's current score to the sampling results. For example, a participant who won the maximum number of points possible on their last prediction might be informed they had moved up from the 72nd percentile to the 89th percentile at that point in the game. Some embodiments further provide a visual display of the current percentile standing for the participant based upon the comparison of the participant's score to the representative sample. For some of these embodiments, the sampling results include a histogram or another graphical representation of the sampling results. Generation and transmission of the sampling results will be further described below by reference to FIG. 6.

When the mobile device receives the sampling results at step 325, the process 300 transitions to step 330 where the mobile device compares the participant's performance to the sampling results and displays the comparison to the participant. Then, the process 300 transitions to step 335 where the mobile device tabulates and stores the participant's performance for the game. This tabulation and storage may include a ranking system. Once the mobile device determines the participant's performance, the process 300 transitions to step 340 where the process 300 determines whether the participant has achieved a high degree of performance. For some embodiments, a high degree of performance indicates a greater likelihood that the participant will have high enough score(s) to win. In these embodiments, the method uploads the participant's performance to the server for comparison against the uploaded results of the other high performers. Thus, these embodiments monitor only the subset of high scorers, based on the particular game parameters, to determine the winner(s).

If the participant has not achieved notable performance, the process 300 concludes. Otherwise if the participant has performed well, the process 300 of some embodiments transitions to step 345, where the process 300 determines whether the participant has exceeded one or more performance factors. If the participant has not exceeded the performance factor(s) then the process 300 transitions to step 355 where the mobile device uploads the participant's performance information to the server, and the process 300 concludes. Otherwise, the participant exceeds the performance factor and the process 300 transitions to step 350 where the mobile device switches to a two-way client/server mode. Then the mobile device uploads the participant's performance information to the server at step 355 and the process concludes.

Some embodiments use the performance determination at step 340 to check whether the participant's performance is high enough to warrant transmission to the server. In these embodiments, high performance may indicate whether the participant is likely to win. Some embodiments use the performance factor of step 345 in FIG. 3 to determine whether the participant exhibits unusual performance or activity that might constitute cheating. This topic will be further discussed in Section II. The description above regarding setup and operation of a mobile device has alluded at various times to interaction with a server. The server of some embodiments will now be described in further detail by reference to FIGS. 4, 5, and 6.

C. Server Setup

As mentioned above, the mixed network topology 100 illustrated in FIG. 1 employs a server 105 to operate and officiate a game that is provided to a set of heterogeneous mobile devices. As discussed above in relation to FIG. 2, the games begin by a participant selecting a game event through a mobile device, and by the mobile device requesting a list of hosted game events. FIG. 4 illustrates a server hosting process 400 for a server sending a list of schedule of events for a network game. As shown in FIG. 4, the hosting process 400 begins at step 405 where the server receives from a mobile device, a request for a list of events associated with a game. Then the process 400 transitions to step 410 where the server looks up events associated with the game in a master list of games and events. For instance, for the game of “football” the master list of games and events might include the “Super Bowl” as an event. This master list is maintained by some embodiments on a data storage. At step 415, the server returns the list of events to the requesting mobile device and waits for the mobile device to make a selection. At step 420, the server receives from the requesting mobile device a selection for a game event and then the hosting process 400 concludes.

Once the server of some embodiments receives the selection of a game event from a requesting mobile device, the server performs certain setup operations for the requested game event. In some embodiments, the server logs the mobile device and/or the participant operating the mobile device to one or more data storages maintained by the server. The server of some embodiments may request the identification explicitly, while the mobile device of other embodiments will transmit the identification separately, or in conjunction with another message to the server regardless of a specific identification request.

FIG. 5 illustrates a process 500 for a server setting up a network game. The server setup process 500 begins at step 505 when the server receives identification from the mobile device. As mentioned, this identification can represent a participant and/or the participant's mobile device. At step, 510 the server uses the received identifier to look up the performance history associated to the received identifier. The server of some embodiments may use a data storage for the lookup. Then, the process 500 transitions to step 515, where the process 500 determines based on the participant's performance history, whether the participant is likely to win. The determination of some embodiments may be an approximation of performance for the selected game event, particularly if little or no performance history has been logged to the data storages for the particular participant.

If at step 515, the participant is likely to win, then the server setup process 500 transitions to step 530 where the server sends a message to set the mobile device in a two-way client/server communications mode. In the two-way mode, the server monitors closely the participant's performance for the game event. In these embodiments, the server is constantly updated with only the most relevant data from a subset of participants who are likely to win. Otherwise, if at step 515, the participant is not likely to win, then the process 500 transitions to step 520, where the process 500 determines whether there is a proper statistical sampling of scores.

In some embodiments, the server setup process 500 determines whether the number of two-way (real-time) connections to the server is statistically significant, i.e., is sufficient to provide a reasonably reliable representation of the population of all participants in the game event. If at step 520, there is not a proper statistical sampling (e.g., there are not enough two-way connections for statistical significance) then the process 500 transitions to step 530 where the server sends a message to set the mobile device in two-way client/server mode (thus, increasing the number of two-way connections toward statistical significance), and the process 500 concludes. Otherwise, the process 500 transitions to step 525 where the server sends a message to set the mobile device in one-way mode to receive broadcasts from the server, and the server setup process 500 concludes. As mentioned above, some embodiments pre-select a set of sampling participants for two-way connections at the start of each game.

D. Server Operation

Once the server has set up and sent the mobile device configuration messages for the selected game, the server will then typically conduct and officiate the game. FIG. 6 illustrates a process 600 for a server officiating a network game. As shown in this Figure, the server operation process 600 begins at step 605 where the server transmits parameters and other information regarding the game to any mobile devices that have selected participation for the game period. For the mixed topology 100 illustrated in FIG. 1, mobile devices configured for one-way mode will typically receive the game information through broadcast messages from the server, while mobile devices configured for two-way mode will send and receive in a manner that is typical of client/server connections.

The transmissions and/or broadcasts will continue at step 605 until the conclusion of the game period as determined by the particular game parameters. Then the process 600 transitions to step 610 where the server generates and sends a lockout message to notify the participating or subscribed mobile devices that the game period has concluded. In some embodiments, the lockout message includes a timestamp. After the lockout message, the server generates and sends the correct result for the recently concluded game period at step 15. Then the process 600 transitions to step 620 where the server compiles the available performance data from the two-way client/server mode participants. As mentioned above, in some embodiments the two-way mode participants form a representative sample of all participants competing during the particular game period. The server operation process 600 of some embodiments generates a graphical representation of the results obtained from the representative sample of participants. Some of these embodiments use a histogram format to illustrate the sampling results.

Once the server operation process 600 compiles the sampling results at step 620, the process 600 transitions to step 625 where the server sends the sampling results to the participants of the game period. In particular, the server typically broadcasts the sampling results to the one-way mode participants. After broadcasting the sampling results, the process 600 transitions to step 630 where the server receives uploaded results from the high performing one-way mode participants. As described above in relation to FIG. 3, in some embodiments the high performing one-way mode participants determined their status as high performers based on the sampling results received from the server, and only those participants who were likely to win the game event or period upload their results to the server.

As shown in FIG. 6, after step 630, the server operation process 600 transitions to step 635 where the process 600 may perform a number of functions. For instance, the process 600 of some embodiments determines and/or notifies one or more winners of the current game event or period. The process 600 of some embodiments also makes determinations or calculations as to the categories and criteria for winners of the game event and/or period. Thus, for each discrete period a participant's score may increment or decrement by the appropriate number of points depending on the game rules. Some embodiments calculate a total and/or cumulative score for the particular participant. The details of the discrete period and the scoring typically encompasses the underlying facets of the game's subject matter such as, for example, the answer to a televised Jeopardy® question, or the results of a prediction of what play will be called by the quarterback in a televised football game.

When the server operation process 600 completes the various tasks at step 630, the process 600 transitions to step 640 where the process 600 determines whether the game, the event, and/or the period are over, based on a set of criteria specific to the selected game. If the game is not over, then the server operation process 600 returns to step 605, otherwise the process 600 concludes. As one of ordinary skill will recognize, the officiating server during an online network game does not monitor a majority of the participants, particularly the one-way broadcast participants. In a network environment of heterogeneous mobile devices, this creates opportunities for participants to unfairly modify and report their performance. Next, Section II describes the additional measures that some embodiments provide to address these concerns.

II. Detecting Cheating for a Game Played Over a Mobile Device

As mentioned above, games broadcast to mobile devices pose specific challenges as to data validation and overall game integrity. For example, a participant using a mobile device in an online or network game is able to (1) access the mobile device client to probe the microprocessor, and/or the RAM to modify the local data at the client device; (2) “spoof” or emulate another mobile client device or; (3) apply other techniques to enter predictions after the answers are known. Thus, a crafty participant is able to create game scores that are not legitimately achieved out of view of the officiating secure server and submit the unfairly achieved performance for scoring against un-enhanced legitimate competitors.

To cope with this issue, some embodiments provide a method and system for detecting unusual performance in a game. The game has a participant. In some embodiments, the game is a game of skill, which, as with most games of skill, performance improves with repetitive play, until a participant reaches their general level of skill. The method calculates for the participant an average performance level. Based on the average performance level, the method tracks for the participant, a participant improvement factor and stores the participant improvement factor. The method compares the participant improvement factor to a threshold value. As mentioned above, some embodiments make this comparison at step 345, of the process flow 300 illustrated in FIG. 3.

Some embodiments additionally track a game improvement factor (e.g., at step 635 in FIG. 6). In some of these embodiments the game improvement factor includes the average change in performance over time for all participants of the game. In some embodiments, any participant whose current game performance is exceeding either the overall game improvement factor, and/or the individual's participant improvement factor, or who is achieving a score at the very highest level of the current online players, will trigger the establishment of a two-way connection with the server for closer two-way monitoring of the participant's activity during the remainder of the game. Additionally, participants who approach a level of performance sufficient to win a significant prize, tournament points, or other reward, are also selected by some embodiments for a two-way server connection at various times during their participation of a network game. The two-way connection employs the transport control protocol (TCP) in some embodiments, while other embodiments might employ another suitable protocol. The server of some embodiments is a “game session server” provided by AirPlay Network, Inc. The system implementation of some embodiments will be described further in Section III.

Once a two-way connection is triggered, the server of some embodiments records data for the ongoing game play of the triggering participant and performs a variety of tests. The tests of some embodiments include the recording of each entry by the participant, and examining the time stamp, user input, and other data being received from the participant's mobile device. Some embodiments use the recorded data to identify anomalies in the participant's activities. The anomalies might include (1) abnormal improvement in results relative to other participants, (2) abnormal improvement in performance based on prior performance for the particular participant, (3) signs that the application software has been altered, (4) anomalies in the utilization of the game control interface, and/or (5) indications through encryption and additional non-obvious data that the final score upload has been altered.

Some embodiments, when detecting an anomaly, require future game play by the participant suspected of unfair activity to be conducted on a two-way basis with the server for close monitoring. For instance, during the game play of these embodiments, every play prediction is stored inside the mobile device and is sent periodically to the game server. Moreover, some embodiments store in a database each participant's relative performance for each game in which the participant competes. In some embodiments, the participant's relative performance is stored in the form of a percentile standing. Some embodiments calculate and store the average performance level and the average incremental improvement in the percentile standing for each participant. As participants improve over time with practice and experience, some embodiments continually calculate an average improvement factor for both the game in general, as well as for a specific participant. For instance, the average improvement in percentile standing of a specific participant for a particular game might be two percentile points, while the average improvement for a group of participants at a particular skill level game-wide, might be three percentile points.

Thus, the threshold value used by some embodiments to gauge a participant's performance may vary for each participant, and for each game, and may also vary over time. The threshold values of these embodiments are adjusted based on one or more of these or other factors (e.g., the participant and game factors, over time). Moreover, some embodiments employ multiple checks against one or more of the threshold values. For instance, the participant's improvement may not be that notable based on the participant's history but is unusual for the particular game played.

In some embodiments, information regarding the average improvement in percentile standing for a participant and/or for the group of participants within a particular skill level for the game is stored to the participant's mobile device by using software that has been loaded into the participant's mobile device memory and/or that has been downloaded with an applications program. These embodiments continuously compare each participant's current percentile standing to the stored information that includes the improvement factors previously described.

For some embodiments, information is updated in realtime. This includes updating the sampling distribution representing the game-wide performance through the (realtime) two-way connections, as well as updating the broadcast participants utilizing the one-way connections. Also previously mentioned, during play of the game, performance or scoring information may be represented in some embodiments by a histogram format, which may be displayed at various times on the participant's mobile device. The histogram of these embodiments may contain the performance of a random sample of selected participants who are continually connected to the server. In some embodiments, the mobile device might generate the histogram, while for other embodiments, the histogram is broadcast to all participants by the server. The point values to win for each game being played is different and depends upon the following, among other things: the game; the difficulty of the game; and the performance of the players playing the game. Thus, the histogram is used to track the scores of a sampling of the players and communicate those scores to all of the players during the game. Each mobile device will then be able to determine how the corresponding player is performing in the current game relative to the other players.

III. System

As previously mentioned, the server 105 illustrated in FIG. 1 is implemented in some embodiments by using a more complex system that includes multiple servers and/or multiple server clusters. To further illustrate this scalability feature, the server of some embodiments is depicted in FIG. 7 as a cluster or several clusters of server computers. Accordingly, FIG. 7 illustrates a system 705 implemented by some embodiments that includes a communication layer 710, a master layer 715, data storages 720, and administration tools 725. Further shown in FIG. 7, one or more mobile devices 110-130 connect to the system 705 through a network 140. As previously mentioned, the network 140 in some embodiments includes a mobile device network such as a cellular network, which employs a variety of communications protocols to transmit data both one-way and two-way between the mobile devices 110-130 and the system 705.

In some embodiments, initial messages received by the system 705 are handled by the communication layer 710. In these embodiments, the communication layer 710 might include dedicated servers to handle the communication needs of a large scale hosted network game. For instance, the communication layer 710 of some embodiments includes a Connection Cluster, a Game Session Cluster, a Score Cluster, a Broadcast Cluster, and a Web Cluster, all provided by AirPlay Network, Inc. In these embodiments, the task of sending and receiving data in the processes of, for example, setting up a game, providing an event list, providing game parameters during a game, and updating scores, is divided among the separate servers and/or clusters.

Also shown in FIG. 7, the communications layer 715 is coupled to a master layer 720. In some embodiments, the master layer 720 includes operational support for hosting and officiating the network games. In these embodiments, this hosted support might include server applications and functions for scheduling, registration, scoring, and validation. The master layer 720 often operates on massive amounts of data, thus each function in these embodiments is typically delegated to a dedicated collection of servers and/or clusters (e.g., a Schedule Cluster, a Registration Cluster, and a Scoring/Validation Cluster, also provided in some embodiments by Airplay Network, Inc.). The master layer 720 is further coupled to a set of data storages 720 to enable, for example, look ups into scheduling data such as a master schedule of games and events, user data such as participant and/or mobile device profiles and history, as well as prize data, results, metrics, and reporting data. Also shown in FIG. 7, the data storages 720 and the master layer 715 of some embodiments are coupled to a set of administration tools 725 that allow, for example, data entry and management such as scheduling and customer service functions. In these embodiments, the administration tools include user interfaces, terminals, and other appropriate administration means.

IV. Advantages

In the embodiments described above, each participant among potentially millions of participants may receive data on a one-way basis that indicates a highly accurate approximation of the participant's percentile standing after each event in real-time throughout the game. Some embodiments of the invention enable the server providing game control to utilize a one-way broadcast transmission for all but a small fraction of the participants, which significantly reduces the number of servers required to conduct a massive real time game. These embodiments also reduce the communications traffic on the cellular networks. These communications and infrastructure costs of operating the game could otherwise be insurmountable.

In addition to the benefit of providing current standings to all participants, the present invention also dramatically reduces the number of scoring calls both during and at the conclusion of an event, which represents a significant improvement over the art. The present invention establishes and maintains an ongoing two-way connection with a sample of participants throughout the game. The present invention monitors this sample and makes the information available game-wide in real-time. Therefore, the present invention does not require additional time to collect, process, and rebroadcast to the game participants instructions to later establish a two-way connection and upload scores for verification and ranking. Further, the present invention permits an almost immediate data collection, verification, and notification process, from only the most relevant group of participants in a game.

Moreover, the present invention addresses issues of integrity that are critical to a large-scale network game, which particularly may involve a number of mobile devices. A sponsor of such a large or network game offering may charge for the service and award prizes to winners. As mentioned above, the participation for such events can number potentially in the tens of millions of simultaneous subscribers, particularly by using the multicast mobile or cellular network configuration of some embodiments. However, such a game will draw little market response if the sponsor cannot maintain the integrity of the game. Issues of cheating may be addressed by employing two-way connections to closely monitor participants, but this quickly becomes impractical for large numbers of participants. Also, in some games based on rapidly unfolding events, such as a live telecast of a sporting event, the latency inherent in controlling a client utilizing a two-way connection (e.g., a cellular telephone) to a secure server makes keeping up with the telecast problematic. Some embodiments of the present invention incur the high overhead of two-way monitoring for only the set of participants who have a higher risk of cheating and/or have a high risk of winning. Such a system dramatically improves the economics of staging the network game and the quality of service for all the subscribed participants.

While the invention has been described with reference to numerous specific details, one of ordinary skill in the art will recognize that the invention can be embodied in other specific forms without departing from the spirit of the invention. Thus, one of ordinary skill in the art will understand that the invention is not to be limited by the foregoing illustrative details, but rather is to be defined by the appended claims. 

1. A method of updating participants of a game, comprising: selecting from a plurality of participants of the game, a subset of sampling participants; establishing a two-way connection with each of the sampling participants; maintaining the two-way connection throughout the game with each of the sampling participants; periodically, receiving through the two-way connection, data from only the sampling participants, the data representing performance of the sampling participant for a period of the game; based only on the sampling data, determining a performance metric for the game; and broadcasting the performance metric to a participant of the game.
 2. The method of claim 1, wherein the broadcasting to the participant comprises a non-sampling participant, wherein the non-sampling participant is a participant of the game that was not selected for the subset of sampling participants.
 3. The method of claim 1, wherein the broadcasting is to a plurality of participants of the game.
 4. The method of claim 1, wherein the selecting occurs before the start of the game.
 5. The method of claim 1, wherein the game performance metric comprises a distribution of scores based on the received data from the plurality of sampling participants, wherein the plurality of sampling participants substantially represent a statistically significant number of participants in the game.
 6. The method of claim 5, wherein selecting the subset of sampling participants comprises utilizing a random selection methodology.
 7. The method of claim 1 further comprising: determining a local performance metric for the broadcast participant; receiving the game performance metric; and comparing the local performance metric to the received game performance metric.
 8. The method of claim 7 further comprising displaying the comparison.
 9. The method of claim 8, wherein the displaying comprises a histogram.
 10. The method of claim 7, wherein based on the comparison, the broadcast participant sends the local performance metric to a server, the server for hosting the game.
 11. The method of claim 1, wherein the game comprises a mobile device network.
 12. A system for updating participants of a game, comprising: means for selecting from a plurality of participants of the game, a subset of sampling participants; means for establishing a two-way connection with only each of the sampling participants; means for maintaining the two-way connection throughout the game with each of the sampling participants; means for periodically, receiving through the two-way connection, data from only sampling participants, the data representing performance of the sampling participant for a period of the game; means for based only on the sampling data, determining a performance metric for the game; and means for broadcasting to a participant of the game the game performance metric.
 13. The system of claim 12, wherein the broadcasting to the participant comprises a non-sampling participant, wherein the non-sampling participant is a participant of the game that was not selected for the subset of sampling participants.
 14. The system of claim 12, wherein the broadcasting is to a plurality of participants of the game.
 15. The system of claim 12, wherein the selecting occurs before the start of the game.
 16. The system of claim 12, wherein the game performance metric comprises a distribution of scores based on the received data from the plurality of sampling participants.
 17. The system of claim 12, further comprising: determining a local performance metric for the broadcast participant; receiving the game performance metric; and comparing the local performance metric to the received game performance metric.
 18. The system of claim 12, further comprising means for displaying the comparison.
 19. The system of claim 12, wherein based on the comparison, the broadcast participant sends the local performance metric to a server, the server for hosting the game.
 20. A method of updating participants of a game on a device, comprising: randomly selecting a subset of sampling participants from a plurality of participants of the game, wherein randomly selecting the subset of sampling participants is performed by a server; establishing a two-way connection only with each of the sampling participants; maintaining the two-way connection with each of the sampling participants throughout the game; periodically, receiving through the two-way connection, data from only sampling participants, the data representing performance of the sampling participant for a period of the game; based only on the sampling data, determining a performance metric for the game; broadcasting the performance metric to a participant of the game.
 21. A method of updating participants of a real-time game of skill based on televised events on a device, comprising: selecting a sampling subset of sampling participants from a plurality of participants of the game, wherein the plurality of participants of the game are a participant subset of a plurality of viewers; establishing a two-way connection with only each of the sampling participants; maintaining the two-way connection with each of the sampling participants throughout the game; periodically, receiving through the two-way connection, real-time sampling data from a only sampling participants, the data representing performance of the sampling participant for a period of the game; based only on the sampling data, determining a performance metric for the game; and broadcasting the performance metric to all participants of the game.
 22. A method of updating participants of a contest on a device, comprising: selecting a sampling subset of sampling participants from a plurality of participants of the contest, wherein the plurality of participants includes the sampling subset of sampling participants and a non-sampling subset of non-sampling participants, wherein each of the sampling subset of sampling participants and each of the non-sampling subset of non-sampling participants are participating in the contest on the device; establishing a two-way connection only with each of the sampling subset of sampling participants; maintaining the two-way connection with each of the sampling subset of sampling participants throughout the contest; periodically, receiving through the two-way connection, data from each of the sampling subset of sampling participants, the data representing performance of the sampling participant for a period of the contest; based only on the sampling data, determining a performance metric for the contest; and broadcasting the performance metric to the participants of the contest. 